package com.yidu.dao;

import java.util.List;
import java.util.Map;

import com.yidu.action.vo.ListenModuleManageVo;
import com.yidu.domain.ListenModuleManage;

/**
 * 
 * 类注释:模块管理dao类
 * @author wpy
 * 2018年11月27日上午11:30:20
 */
public interface ListenModuleManageMapper {
	/**
	 * 根据模块管理id删除
	 * @param mmId 模块id
	 * @return
	 */
    int deleteByPrimaryKey(String mmId);

    /**
     * 根据所有的模块管理对象信息增加
     * @param mm 模块对象
     * @return
     */
    int insert(ListenModuleManage mm);

    /**
     * 根据已有的模块管理对象信息增加
     * @param mm 模块对象
     * @return
     */
    int insertSelective(ListenModuleManage mm);

    /**
     * 根据模块管理id查询模块信息
     * @param mmId 模块id
     * @return
     */
    ListenModuleManageVo selectByPrimaryKey(String mmId);

    /**
     * 根据模块管理对象修改已有的信息
     * @param mm 模块对象
     * @return
     */
    int updateByPrimaryKeySelective(ListenModuleManage mm);

    /**
     * 根据模块管理对象修改所有的信息
     * @param mm 模块对象
     * @return
     */
    int updateByPrimaryKey(ListenModuleManage mm);
    
    /**
	 * 查询所有的模块数据
	 * @param map 集合
	 * @return
	 */
	List<ListenModuleManage> selectModuleManage(Map<String, Object> map);
	
	/**
	 * 查询总行数
	 * @param map 集合
	 * @return
	 */
	int selectCount (Map<String, Object> map);
	
	/**
	 * 查询没有上级的模块数据
	 * @return
	 */
	List<ListenModuleManageVo> selectNoSuperior();
	
	/**
	 * 查询传过来的上级模块的下级模块数据
	 * @param lisMmId 上级模块id
	 * @return
	 */
	List<ListenModuleManageVo> selectSubordinate(String lisMmId);
	
	/**
	 * 根据用户id查询模块
	 * @param buId 用户id
	 * @return
	 */
	List<ListenModuleManage> selectUserModuleManage(String buId);
}